In a computer system, data may be stored in or retrieved from a variety of data stores or processes. Data may flow among the data stores or processes, undergo transformations, and be copied or moved multiple times. Data lineage describes the origin, transformations, intermediate and end point destinations of data as it is moved and processed in a computer system. Metadata describes the various data objects. Metadata associated with a data object may describe sources, transformations, and intermediate or end point destinations. Metadata may describe various data stores or processes, such as servers, tables, or columns of tables. Examples of metadata describing servers include server host names, type of servers, dependencies or other relationships between servers or attributes of servers. Examples of metadata describing data include table definitions, column definitions, report definitions, table structures, and the locations of tables.
Metadata may be used to determine data lineage of various data. The data lineage may be used to document or audit data, or for other uses. A data impact analysis may use metadata or a data lineage to determine possible impacts of changes to the data system. This may be useful in planning system modifications or in various other data management tasks. For example, an impact analysis may assist an administrator desiring to change the type of a table column, by indicating the impacts of data in the system. An impact analysis and lineage service is a service that performs retrieval and analysis of metadata to facilitate viewing data lineage or performing an impact analysis.